wayland: Invert drop_finished/button release call order
authorCarlos Garnacho <carlosg@gnome.org>
Tue, 1 Dec 2015 14:11:52 +0000 (15:11 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Tue, 1 Dec 2015 14:49:13 +0000 (15:49 +0100)
If we "release" the button first, the drag will be eventually cancelled,
we must first signal GDK_DROP_FINISHED, and then release the button so
the success status prevails.

gdk/wayland/gdkselection-wayland.c

index e5b6a59e997d8bbe06395585e4eafbadc3aca057..5ed98cf8d6ffa10e1867fbad5a8ddf71616ccd5f 100644 (file)
@@ -779,9 +779,9 @@ data_source_send (void                  *data,
 
   if (context)
     {
-      gdk_wayland_device_unset_grab (gdk_drag_context_get_device (context));
       _gdk_wayland_drag_context_emit_event (context, GDK_DROP_FINISHED,
                                             GDK_CURRENT_TIME);
+      gdk_wayland_device_unset_grab (gdk_drag_context_get_device (context));
     }
 }